<?php
/**
 * Created by PhpStorm.
 * User: Dalei
 * Date: 2018/8/26
 * Time: 22:40
 */

namespace Home\Controller;

/*
 * 找工作接口
 * 主页面信息接口
 * 地区筛选接口
 * 职位筛选接口
 * 搜索公司或者职位接口
 * */
class JobController extends HomeController{
    /*
     * 找工作/主页面信息接口
     *
     * 需要返还给前端的数据信息
     * @return varchar companyname 公司名称
     * @return varchar pay         薪资待遇
     * @return varchar num         页码数
     * @return varchar jobinten    职位名称
     * @return varchar jobtitle    职位标题
     * @['company']     数据库表中的公司信息表
     * */
    public function index(){
        $resu = array('code' => 1,'msg' => '招聘信息查询成功!','data' => array());
        $num = $_POST['num'] ? $_POST['num']:'1';
        $list = M('company_job')
            ->where('jobinten is not null' )
            ->limit((1 - 1)*10,$num*10)
            ->field('companyname,pay,jobinten,title,jobfield')
            ->select();//查询符合条件的数据记录
        if($list){
            $resu['data'] =$list;
        }else{
            $resu['msg'] ='招聘信息查询失败!';
        }
        $this -> ajaxReturn($resu);
    }
    /*
     * 找工作/地区筛选值接口
     *
     * @params varchar jobfield       职位地区
     * @['company']     数据库表中的公司信息表
     * */
    public function place_cartridge(){
        $resu = array('code' => 1,'msg' => '地区值查询成功!','data' => array());
        //通过前台点击事件来获取地区具体信息,以便于处查询数据库,并且筛选相应字段
        $list = M('company_job')
            ->group(true)
            ->field('jobfield')
            ->select();
        if($list){
            $resu['data'] =$list;
        }else{
            $resu['msg'] ='地区值查询失败!';
        }
        $this->ajaxReturn($resu);
    }
    /*
     * 找工作/职位筛选值接口
     *
     * @params varchar jobinten       职位名称
     *
     * 需要返回给前端的数据信息
     * @return varchar companyname     公司名称
     * @return varchar pay             薪资待遇
     * @return varchar jobinten        职位名称
     * @return varchar jobtitle        职位标题
     * @return varchar jobfield        职位地区
     * @['company']     数据库表中的公司信息表
     * */
    public function work_cartridge(){
        $resu = array('code' => 1,'msg' => '职位值查询成功!','data' => array());
        //通过前台点击事件来获取地区具体信息,以便于处查询数据库,并且筛选相应字段
        $list = M('company_job')
            ->group(true)
            ->field('title')
            ->select();
        if($list){
            $resu['data'] =$list;
        }else{
            $resu['msg'] ='职位值查询失败!';
        }
        $this->ajaxReturn($resu);
    }
    /*
     * 找工作/职位和地区筛选接口
     *
     * @params varchar jobinten       职位名称
     *
     * 需要返回给前端的数据信息
     * @return varchar companyname     公司名称
     * @return varchar pay             薪资待遇
     * @return varchar num         页码数
     * @return varchar jobinten        职位名称
     * @return varchar jobtitle        职位标题
     * @return varchar jobfield        职位地区
     * @['company']     数据库表中的公司信息表
     * */
    public function work(){
        $resu = array('code' => 1,'msg' => '相关职位信息查询成功!','data' => array());
        $num = $_POST['num'] ? $_POST['num']:'1';
        $title = $_POST['title'];
        $jobfield = $_POST['jobfield'];
        $arr = array('jobfield' => $jobfield);//地区
        $brr = array('title' => $title);//职位标题
        $crr = array($arr,$brr);
        if(empty($title) && empty($jobfield)){
            $list = M('company_job')
                ->limit((1 - 1)*10,$num*10)
                ->field('companyname,pay,jobinten,title,jobfield')
                ->select();
            if($list){
                $resu['data'] = $list;
            }else{
                $resu['code'] = 2;
                $resu['msg'] = '还没有招聘信息!';
            }
        }else{
            if(empty($title) or empty($jobfield)){
                if($title){
                    $list = M('company_job')
                        ->where($brr)
                        ->limit((1 - 1)*10,$num*10)
                        ->field('companyname,pay,jobinten,title,jobfield')
                        ->select();
                    if($list){
                        $resu['data'] = $list;
                    }else{
                        $resu['code'] = 2;
                        $resu['msg'] = '该地区还没有该职位!';
                    }
                }else if($jobfield){
                    $list = M('company_job')
                        ->where($arr)
                        ->limit((1 - 1)*10,$num*10)
                        ->field('companyname,pay,jobinten,title,jobfield')
                        ->select();
                    if($list){
                        $resu['data'] = $list;
                    }else{
                        $resu['code'] = 2;
                        $resu['msg'] = '该地区还没有该职位!';
                    }
                }
            }else{
                $list = M('company_job')
                    ->where($crr)
                    ->limit((1 - 1)*10,$num*10)
                    ->field('companyname,pay,jobinten,title,jobfield')
                    ->select();
                if($list){
                    $resu['data'] = $list;
                }else{
                    $resu['code'] = 2;
                    $resu['msg'] = '相关职位信息查询失败!';
                }
            }
        }
        $this->ajaxReturn($resu);
    }
    /*
     * 热门职位
     *
     * */
    public function wor(){
        $resu = array('code' => 1,'msg' => '数据查询成功!','data' => array());
        $list = M('company_job')
            //通过前台点击事件来获取职位具体信息,以便于处查询数据库
            ->where(array('jobinten' => $_POST['jobinten']))
            ->field('companyname,pay,jobinten,title,jobfield')
            ->select();
        if($list){
            $resu['data'] =$list;
        }else{
            $resu['msg'] ='暂时没有这个职位哦!';
        }
        $this->ajaxReturn($resu);
    }
    /*
     * 找工作/搜索公司或者职位接口
     *
     * @params varchar keyword        关键字
     * @return varchar companyname     公司名称
     * @return varchar pay             薪资待遇
     * @return varchar jobinten        职位名称
     * @return varchar jobtitle        职位标题
     * @return varchar jobfield        职位地区
     * @['company']         公司信息表
     * */
    public function company(){
        $resu = array('code' => 1,'msg' => '公司职位信息查询成功!','data' => array());
        //先查询公司名称
        //先使用模糊查询将值赋给变量$data
        $data['companyname']=array("like","%".$_POST['keyword']."%");
        //将变量放到表中查询公司名称,并且筛选相应字段
        $list = M('company_job')->where($data)->field('companyname,pay,jobinten,title,jobfield')->select();
        //如果能够查询到相关数据,则返回相关信息
        if($list){
            $resu['data'] =$list;
        }else{
            //如果查询公司名称无果,则查询职位名称
            $like['jobinten']=array("like","%".$_POST['keyword']."%");
            $list = M('company_job') ->where($like)->field('companyname,pay,jobinten,title,jobfield')->select();
            //如果能够查询到职位相关联的信息,那么就返回数据,如果公司名称和职位名称都查询不到就返回false
            if($list){
                $resu['data'] =$list;
            }else{
                $resu['msg'] ='暂时没有这个职位哦!';
            }
        }
        $this->ajaxReturn($resu);
    }
    /*
     * 职位详情
     *
     *
     * */
    public function details(){
        $resu = array('code' => 1,'msg' => '职位详情查询成功!','data' => array());
        $companyname=$_POST['companyname'];
        $jobinten=$_POST['jobinten'];
        $arr = array('companyname'=> $companyname, 'jobinten'=>$jobinten,);
        //通过前台点击事件来获取职位具体信息,以便于处查询数据库
        $list = M('company_job')->where($arr)->find();
        if($list){
            $resu['data'] =$list;
        }else{
            $resu['msg'] ='职位详情查询失败!';
        }
        $this->ajaxReturn($resu);
    }
    /*
    *
    * 便民服务发布内容
    *
    * */
    public function civilian(){
        $resu = array('code' => 1,'msg' => '发布成功,待审核过后便可以展示您发发布信息!');
        //获取前台请求数据
        $list = M('convenient');
        $title = $_POST['title'];
        $content = $_POST['content'];
        $status = $_POST['status'];
        $category=$_POST['category'];
        //将获取的参数和数据库字段做匹配
        $ary = array('title' => $title, 'content' => $content, 'status' => $status,'category' =>$category);
        if ($title!= null&& $content!= null&& $status!=null){
            $list->add($ary);
        } else {
            $resu['msg'] = '请输入完整便民服务信息!';
        }
        $this->ajaxReturn($resu);
    }
    /*
     *
     * 便民服务标题
     *
     * */
    public function cards(){
        $resu = array('code' => 1,'msg' => '便民服务标题查询成功!','data' => array());
        $list = M('convenient')
            ->distinct(true)
            ->field('category')
            ->select();
        //如果取到相关数据,则往下通过该数据中的'期望职位'来查询相关所有职位信息
        if($list){
            $resu['data'] = $list;
        }else{
            $resu['msg'] = '获取便民服务标题失败,请重试!';
        }
        $this->ajaxReturn($resu);
    }
   /*
    *
    * 便民服务展示内容
    * */
    public function civilians(){
        $resu = array('code' => 1,'msg' => '便民服务内容查询成功!','data' => array());
        $list = M('convenient')
            ->where('status=1')
            ->field('title,content')
            ->select();
        //如果取到相关数据,则往下通过该数据中的'期望职位'来查询相关所有职位信息
        if($list){
            $resu['data'] = $list;
        }else{
            $resu['msg'] = '获取便民服务内容失败,请重试!';
        }
        $this->ajaxReturn($resu);
    }
}